Steve Kemp: Having fun with CP/M on a Z80 single-board computer.
In the past, I've talked about building a Z80-based computer. I made some progress towards that goal, in the sense that I took the initial (trivial steps) towards making something:
- I built a clock-circuit.
- I wired up a Z80 processor to the clock.
- I got the thing running an endless stream of NOP instructions.
- No RAM/ROM connected, tying all the bus-lines low, meaning every attempted memory-read returned
0x00
which is the Z80 NOP instruction.
- No RAM/ROM connected, tying all the bus-lines low, meaning every attempted memory-read returned
- It must run CP/M.
- The source-code to "everything" must be available.
- I want it to run standalone, and connect to a host via a serial-port.
- A z80-assembler on my Linux desktop to build simple binaries.
- An installation of Turbo Pascal 3.00A on the system itself.
- I used this to build some simple utilities.
- There's a good overview of using turbopascal here which covers how to use/quit the editor, compile binaries, etc.
- An installation of FORTH on the system itself.
- Which is nice.
- A couple of simple games compiled from Pascal
- Snake, Tetris, etc.
- The Zork trilogy installed, along with Hitchhikers guide.
cls
to clear the screen), as well as got the hang of using the wordstar keyboard shortcuts as used within the turbo pascal environment.
I have some plans for development:
- Add command-line history (page-up/page-down) for the CP/M command-processor.
- Add paging to
TYPE
, and allow terminating withQ
.
B>LOCATE H*.COM
P:HELLO COM
P:HELLO2 COM
G:HITCH COM
E:HYPHEN COM
I've also written some other trivial assembly language tools, which was surprisingly relaxing. Especially once I got back into the zen mode of optimizing for size.
I forked the upstream repository, mostly to tidy up the contents, rather than because I want to go into my own direction. I'll keep the contents in sync, because there's no point splitting a community even further - I guess there are fewer than 100 of these boards in the wild, probably far far fewer!